package oauth

import "net/http"

//AuthServerHandler to specific auth server's implement
type AuthServerHandler interface {

	//GetAuthServerFlag return oauth server flag, such as GITLAB, CHAINMAKER
	GetAuthServerFlag() string

	//LoginRedirectHandler redirect to oauth page
	LoginRedirectHandler(w http.ResponseWriter, r *http.Request, stateCode string, site string)

	//LoginCallbackHandler handle oauth call back
	LoginCallbackHandler(w http.ResponseWriter, r *http.Request, stateCode string, site string)

	//ThirdPartLoginHandler handle third part login
	ThirdPartLoginHandler(w http.ResponseWriter, r *http.Request, site string)
}
